﻿@mixin make-sizes( $breakpoints: $grid-breakpoints) {
    @each $breakpoint in map-keys($breakpoints) {
        $infix: breakpoint-infix($breakpoint, $breakpoints);

        @include media-breakpoint-up($breakpoint, $breakpoints) {
            @if $breakpoint != "xs" {
                @each $prop, $abbrev in (width: w, height: h) {
                    @each $size, $length in $sizes {
                        .#{$abbrev}#{$infix}-#{$size} {
                            #{$prop}: $length !important;
                        }
                    }
                }

                .mw#{$infix}-100 {
                    max-width: 100% !important;
                }

                .mh#{$infix}-100 {
                    max-height: 100% !important;
                }

                .min-vw#{$infix}-100 {
                    min-width: 100vw !important;
                }

                .min-vh#{$infix}-100 {
                    min-height: 100vh !important;
                }

                .vw#{$infix}-100 {
                    width: 100vw !important;
                }

                .vh#{$infix}-100 {
                    height: 100vh !important;
                }
            }
        }
    }
}

@include make-sizes();
